User interfaces are used in software development systems, such as software systems for developing block diagrams, to enable users to enter data for creating and running the block diagrams. Various classes of block diagrams describe computations that can be performed on application specific computational hardware, such as a computer, microcontroller, FPGA, and custom hardware. Classes of such block diagrams include time-based block diagrams such as those found within Simulink® from The MathWorks, Inc. of Natick, Mass., state-based and flow diagrams such as those found within Stateflow® from The MathWorks, Inc. of Natick, Mass., and data-flow diagrams and the Unified Modeling Language (UML). A common characteristic among these various forms of block diagrams is that they define semantics on how to execute the diagram.
In a block diagram modeling environment, data should be set for each component block to define the attributes, operations and other characteristic of the component block. The block diagram modeling environment may provide a dialog for entering the properties and parameters of the component block, such as a gain block. In the conventional modeling environment, a distinction is made between properties and parameters of the component block where parameters have a direct bearing on the functionality of the corresponding component block while properties may affect the execution in which the component block is used. In Simulink®, for example, the property dialog of a gain block specifies ‘Description,’ ‘Tag,’ ‘Open function,’ etc., which have no direct effect on the execution in which the gain block is used. The parameter dialog of the gain block specifies the gain value to be used as the factor in a multiplication, how this multiplication is to be executed and whether the result saturates in case of fixed-point computations, which determine the functioning of the gain block. The parameter dialog uses graphical user interface elements such as a pull-down list to specify the type of multiplication and a checkbox to specify whether saturation is allowed. This restricts the user input and prevents mistakes while providing immediate feedback as to which options are available for each of the selection mechanisms.
An important aspect of the use of graphical user interface elements to allow users to modify properties but also parameters and other data of the underlying block diagram model is the selection mechanism. In general, an entity has to be selected for which the properties and related data are listed and to which the new values apply. The conventional block diagram modeling environment allows users to select a single component block for setting or changing the data of the selected component block. However, allowing only one component block as the object of setting or changing data is too restrictive and time-consuming. Therefore, it is desired to select multiple component blocks to set up or change data of the multiple component blocks together.